1. Field of the Invention
The present invention relates to a storage controller and a virtual memory control method for a storage controller.
2. Description of the Related Art
Companies and other such organizations use storage controllers to manage large amounts of data. For example, organizations such as financial institutions and hospitals require highly reliable, large-capacity storage controllers due to their need to store data for large numbers of customers for long periods of time. A storage controller that fulfills the demand for both high reliability and large capacity, for example, comprises a large number of hard disk drives, and can provide a host with a storage area based on RAID (Redundant Array of Independent Disks).
A storage controller, for example, is a large-scale system product comprising a large number of physical storage devices (hard disk drives and the like), logical storage devices (logical volumes and so forth), communication channels, control boards, and so forth. In a storage controller, shared memory is used to coordinate and operate a large number of control boards, and control information and management information is shared between the respective control boards.
The respective control boards each comprise a plurality of microprocessors, and at least one local memory. At least a portion of the control information and management information stored in the shared memory is copied in advance to the respective local memories. The plurality of microprocessors inside one control board utilizes the control information and management information copied to local memory to execute various prescribed processes.
A memory size, which exceeds the physical size of a local memory, can be obtained by using a virtual memory mechanism. A virtual memory mechanism can be realized in accordance with a memory management subsystem, which has an operating system (OS). Technology for partitioning and using the storage area of a virtual memory is also known (Japanese Patent Laid-open Nos. 9-282233 and 1-283661).
Neither of the prior arts related to the virtual memories disclosed in the above-mentioned respective Patent Literature is technology directly related to a storage controller. Furthermore, both of the prior arts disclosed in the above-mentioned Patent Literature are technologies for managing a virtual memory, which is utilized by a single microprocessor, and cannot be applied as-is to the management of a virtual memory shared by a plurality of microprocessors. Further, the prior arts disclosed in the above-mentioned Patent Literature are for partitioning and managing a virtual memory utilized by a single microprocessor at a predetermined fixed size, and do not variably control the size of a partitioned area.
A storage controller is a large-scale system product, which provides a logical volume to each of a large number of host computers (hereinafter, hosts), and the corresponding relationship between the respective hosts and the respective logical volumes and the utilization status of a logical volume by the respective hosts will undergo various changes. For example, the size of a logical volume provided to a host is dynamically controlled as needed; the storage contents of a logical volume utilized by a host are copied to a separate logical volume; and a logical volume connected to one host is reconnected to another host. Therefore, a storage controller having such technical properties requires new virtual memory technology.